/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package nominalitzacions.domain;

import commonlib.domain.Corpus;
import commonlib.domain.Rules;


/**
 *This class represents a language and contains the sources to load it.
 * @author marc.mauri
 */
public class Language {

    /**
     * This is the the language name.
     */
    protected String languageName;

    protected NominalizatorDictionary infDico;
    
    protected NominalizatorDictionary irregDico;
    
    protected NominalizatorDictionary nounDico;
    
    protected Corpus corpus;
    
    protected Rules rules;

    /**
     * This is the path where the pair corpus is stored.
     */
    /*protected String corpusPath;*/

    public Language() {

    }

    public Language(NominalizatorDictionary infDico,
                        NominalizatorDictionary irregDico,
                        NominalizatorDictionary nounDico,
                        Corpus corpus) {
        this.infDico = infDico;
        this.irregDico = irregDico;
        this.nounDico = nounDico;
        this.corpus = corpus;
    }

    public NominalizatorDictionary getInfDico() {
        return this.infDico;
    }

    public void setInfDico(NominalizatorDictionary infDico) {
        this.infDico = infDico;
    }

    public NominalizatorDictionary getIrregDico() {
        return this.irregDico;
    }

    public void setIrregDico(NominalizatorDictionary irregDico) {
        this.irregDico = irregDico;
    }

    public NominalizatorDictionary getNounDico() {
        return this.nounDico;
    }

    public void setNounDico(NominalizatorDictionary nounDico) {
        this.nounDico = nounDico;
    }

    public Corpus getCorpus() {
        return this.corpus;
    }

    public void setCorpus(Corpus corpus) {
        this.corpus = corpus;
    }

    public void setRules(Rules rules) {
        this.rules = rules;
    }

    public Rules getRules() {
        return this.rules;
    }
    
    public boolean searchVerb(String verb) {
        return (this.infDico.findWord(verb) || this.irregDico.findWord(verb) );
    }

}